Overview
In this task, you have to build a model to predict the probability of a bid win inside an ad-exchange auction. Your main goal is to beat the provided baseline.
Description
What is an Ad-Exchange?
An ad-exchange is a digital marketplace that enables advertisers and publishers to buy and sell advertising space, often through real-time auctions. This platform facilitates the buying and selling process, making it more efficient and automated.
How It Works
Auction: When a user starts a mobile application, a bid request is sent from the publisher's ad server to the ad-exchange.
DSP (Demand-Side Platform): Advertisers use DSPs to decide which ad impressions to buy and how much to bid.
SSP (Supply-Side Platform): Publishers use SSPs to manage their advertising space inventory, ensuring they get the best price for each impression.
Winning Bid: The highest bid wins the auction, and the ad from that advertiser is displayed to the user.
Evaluation
The metric for this task is the F1 score.
Baseline
F1 score: 0.503
ROC AUC: 0.667 (optional)
Data
You will be provided with two datasets:
train_data.csv: Use this dataset for training your model.
test_data.csv: Use this dataset for evaluation and comparison with the baseline.
======
Columns Description
target: The target variable indicating if the bid won (1) or lost (0).
flr: Floor price set by the publisher/exchange for the ad space.
sellerClearPrice: The price at which the seller is ready to sell the ad-space.
hour: The hour of the day the auction took place.
ssp: The Supply-Side Platform managing the auction.
dsp: The Demand-Side Platform participating in the auction.
auctionBidFloorSource: Source of the bid floor.
sdk: Software Development Kit used in the ad request.
sdkver: Version of the SDK.
bundle: The app bundle identifier.
os: Operating system of the user's device.
lang: Language setting of the user's device.
country: Country from which the bid request originated.
region: Region within the country.
request_context_device_w: Width of the user's device screen.
request_context_device_h: Height of the user's device screen.
bidderFlrPolicy: Bidder's floor price policy.
adt: Ad type requested.
dc: Data center handling the request.
contype: Connection type
request_context_device_type: Type of the user's device
ifa: Identifier for Advertisers (unique user identifier).
price: The final bid price submitted.
=====
Submission Requirements
Python Module: The training and inference solution should be formatted as a Python module. Ensure your code is modular, clean, and well-documented.
Jupyter Notebook: Results should be displayed in a Jupyter notebook. This notebook should include:
A clear explanation of your approach.
Key steps in the data processing, model training, and evaluation process.
Visualizations and metrics to support your results.
Comparison of your model's performance against the provided baseline.
=====
Auction - это не сущность, это процесс аукциона - выбора advertiser'а из всех, кто хочет купить место для рекламы. Аукцион проходит на стороне SSP, как написано в описании ssp
Advertiser - это предоставитель рекламы, тот, кто хочет купить место для своей рекламы у publisher'а
The advertiser and publisher are sellers - нет, publisher продаёт место, advertiser покупает. sellerClearPrice - к publisher'у
Does the following feature belong to the Auction? - аукцион не является сущностью (п.1)
Advertiser == User? (Winning Bid: The highest bid wins the auction, and the ad from that advertiser is displayed to the user.) - нет, advertiser, например, владелец приложения, который хочет продать конкретному юзеру свой продукт. ifa - рекламный идентификатор пользователя.
How to identify each actor from the system?:
User - ifa
publisher - никак, в этих данных уникального ключа для них, только фичи того, что им используется
auction - это не сущность (п.1), поэтому одна строка в данных - это результаты одного аукциона
advertiser - bundle. DSP - это посредник, который выступает от имени advertiser и участвует в аукционах для продажи рекламы
What does the empty value of ifa mean? - Юзер не дал разрешение на шеринг своего рекламного айди.
Imagine that our task is to estimate the probability of the user click (target ) on the impression of ad (ifa). - ifa не описывает рекламу, а юзера (выше)
Про ifa: https://www.techopedia.com/definition/29032/identifier-for-advertisers-ifa-ifda